﻿#include <iostream>
#include "windows.h" 

//此程序作用：访问指定文件夹下的所有文件。
//目标文件夹: %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup，一个自启动项的目录
//但是你的电脑上，这个文件夹可能是空的，所以要自己放几个文件进去
//%USERPROFILE%是一个环境变量，需要转换成文件夹路径


int main()
{
	WIN32_FIND_DATA FindFileData;
	HANDLE hFind;

	//szBuf为文件夹路径
	TCHAR szBuf[MAX_PATH] = { 0 };
	::GetEnvironmentVariable(L"USERPROFILE", szBuf, MAX_PATH);
	printf_s("环境变量:%ls\n", szBuf);
	wcscat_s(szBuf, L"\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\*");
	printf_s("真实路径:%ls\n", szBuf);
	//当前文件夹下第一个文件
	hFind = FindFirstFile(szBuf, &FindFileData);
	if (hFind == INVALID_HANDLE_VALUE) {
		printf("Invalid File Handle. Get Last Error reports %d\n", GetLastError());
		return 1;
	}



	int i = 1;
	do
	{
		printf("File %d(th): \"%ls\"\n", i, FindFileData.cFileName);
		i++;
	} while (FindNextFile(hFind, &FindFileData));

	FindClose(hFind);
	return 0;
}
